﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Yozeev.BankService.Models
{
    /// <summary>
    /// 支付请求模型
    /// </summary>
    public class PaymentReqModel
    {
        /// <summary>
        /// 交易类型 
        /// JSAPI：公众号（小程序）支付
        /// APP：app支付
        /// MICROPAY：刷卡支付(微信，支付宝)
        /// </summary>
        public string PayTypeID { get; set; }
        /// <summary>
        /// 订单编号
        /// </summary>
        public string OrderNo { get; set; }
        /// <summary>
        /// 订单保存时间
        /// </summary>
        public string ExpiredDate { get; set; }
        /// <summary>
        /// 交易金额
        /// </summary>
        public string OrderAmount { get; set; }
        /// <summary>
        /// 手续费金额, 非必须指定
        /// </summary>
        public string Fee { get; set; }
        /// <summary>
        /// 指定付款账户，
        /// 1、交易类型为“公众号（小程序）支付”时必输，上送子商户的公众号 APPID，对应微信统一下单接口中的 sub_appid; 
        /// 2、交易类型为"app 支付"时必输，上送子商户的应用 APPID，对应微信统一下单接口中的sub_appid；
        /// 3、交易类型为“刷卡支付”时必输，上送授权码 auth_code
        /// </summary>
        public string AccountNo { get; set; }
        /// <summary>
        /// 交易币种，156：人民币
        /// </summary>
        public string CurrencyCode { get; set; }
        /// <summary>
        /// 分期标识，1：分期， 0：不分期
        /// </summary>
        public string InstallmentMark { get; set; }
        /// <summary>
        /// 分期代码，分期标识为“1”时必须设定
        /// </summary>
        public string InstallmentCode { get; set; }
        /// <summary>
        /// 分期期数，分期标识为“1”时必须设定，0-99
        /// </summary>
        public string InstallmentNum { get; set; }
        /// <summary>
        /// 客户ID，非必须
        /// </summary>
        public string BuyIP { get; set; }
        /// <summary>
        /// 订单说明
        /// </summary>
        public string OrderDesc { get; set; }
        /// <summary>
        /// 订单地址，非必须，合法的 URL 地址
        /// </summary>
        public string OrderURL { get; set; }
        /// <summary>
        /// 订单日期 （必要信息 - YYYY/MM/DD）
        /// </summary>
        public string OrderDate { get; set; }
        /// <summary>
        /// 订单时间 （必要信息 - HH:MM:SS 24 小时制)
        /// </summary>
        public string OrderTime { get; set; }
        /// <summary>
        /// 订单有效期, YYYYMMDDHHMMSS(24 小时制)
        /// </summary>
        public string orderTimeoutDate { get; set; }
        /// <summary>
        /// 商品种类 必须设定
        /// 充值类    0101: 支付账户充值
        /// 消费类    0201:虚拟类,0202:传统类,0203:实名类
        /// 转账类    0301:本行转账,0302:他行转账
        /// 缴费类    0401:水费,0402:电费,0403:煤气费,0404:有线电视费,0405:通讯费,
        ///          0406:物业费,0407:保险费,0408:行政费用,0409:税费,0410:学费,0499:其他
        /// 理财类    0501:基金,0502:理财产品,0599:其他
        /// </summary>
        public string CommodityType { get; set; }
    }
}
